/*

This file is part of roomyak.

Copyright (C) 2008 Pixecur Technologies Incorporated (Esotera).
Visit Esotera at http://www.esoteras3.com
 
roomyak is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
 
roomyak is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.
 
You should have received a copy of the GNU General Public License
along with roomyak; see the file COPYING.  If not, write to 
Pixecur Technologies, 213-31 Peet Street, St. John's, NL, A1B 3W8. 
 
Linking this library statically or dynamically with other modules is
making a combined work based on this library.  Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
 
*/

package com.datasentinel.util.data;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;


/**
 * @author Areg Beketovski
 */
public class VoidByteArray extends ByteArray
{
	private static final long serialVersionUID = 1L;

	public VoidByteArray()
	{
		super(0);
	}
	
	public void set(int index, byte value) throws ArrayIndexOutOfBoundsException
	{
		this.data[index] = value; 
	}
	
	public void set(int offset, byte b[], int srcOffset, int length) throws ArrayIndexOutOfBoundsException
	{
		System.arraycopy(b, srcOffset, data, offset, length);
	}
	
	public OutputStream getOutputStream()
	{
		if(outputStream == null)
		{
			resetOutputStream();
		}
		
		return outputStream;
	}
	
	public void resetOutputStream()
	{
		this.outputStream = new OutputStream(){

			@Override
			public void write(int b) throws IOException
			{
				
			}
			
		};
	}
	
	@Override
	protected InputStream createInputStream(int offset)
	{
		return new InputStream(){

			@Override
			public int read() throws IOException
			{
				return -1;
			}
			
		};
	}
	
}
